package model;
// Generated 31/03/2014 18:36:14 by Hibernate Tools 3.2.1.GA

import dao.impl.GrowMessages;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * Veiculos generated by hbm2java
 */
@Entity
@Table(name = "VEICULOS", catalog = "Karangoos")
public class Veiculos implements java.io.Serializable {

    private Integer pkVeiculos;
    private Usuarios usuarios;
    private String nome;
    private String marca;
    private String cor;
    private String anoFabricacao;
    private String combustivel;
    private Float valor;
    private String urlImagem;
    private Set<Transacoes> transacoeses = new HashSet<Transacoes>(0);
    private Set<Rating> ratings = new HashSet<Rating>(0);
    private Set<Comentarios> comentarioses = new HashSet<Comentarios>(0);

    public Veiculos() {
    }

    public Veiculos(Usuarios usuarios, String nome, String marca, String cor, String anoFabricacao, String combustivel, Float valor, String urlImagem, Set<Transacoes> transacoeses, Set<Rating> ratings, Set<Comentarios> comentarioses) {
        this.usuarios = usuarios;
        this.nome = nome;
        this.marca = marca;
        this.cor = cor;
        this.anoFabricacao = anoFabricacao;
        this.combustivel = combustivel;
        this.valor = valor;
        this.urlImagem = urlImagem;
        this.transacoeses = transacoeses;
        this.ratings = ratings;
        this.comentarioses = comentarioses;
    }

    @Id
    @GeneratedValue(strategy = IDENTITY)
    @Column(name = "PK_VEICULOS", unique = true, nullable = false)
    public Integer getPkVeiculos() {
        return this.pkVeiculos;
    }

    public void setPkVeiculos(Integer pkVeiculos) {
        this.pkVeiculos = pkVeiculos;
    }

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "FK_VEICULOS_USUARIOS")
    public Usuarios getUsuarios() {
        return this.usuarios;
    }

    public void setUsuarios(Usuarios usuarios) {
        this.usuarios = usuarios;
    }

    @Column(name = "NOME", length = 45)
    public String getNome() {
        return this.nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    @Column(name = "MARCA", length = 45)
    public String getMarca() {
        return this.marca;
    }

    public void setMarca(String marca) {
        this.marca = marca;
    }

    @Column(name = "COR", length = 45)
    public String getCor() {
        return this.cor;
    }

    public void setCor(String cor) {
        this.cor = cor;
    }

    @Column(name = "ANO_FABRICACAO", length = 45)
    public String getAnoFabricacao() {
        return this.anoFabricacao;
    }

    public void setAnoFabricacao(String anoFabricacao) {
        this.anoFabricacao = anoFabricacao;
    }

    @Column(name = "COMBUSTIVEL", length = 45)
    public String getCombustivel() {
        return this.combustivel;
    }

    public void setCombustivel(String combustivel) {
        this.combustivel = combustivel;
    }

    @Column(name = "VALOR", precision = 12, scale = 0)
    public Float getValor() {
        return this.valor;
    }

    public void setValor(Float valor) {        
        this.valor = valor;
    }

    @Column(name = "URL_IMAGEM", length = 45)
    public String getUrlImagem() {
        return this.urlImagem;
    }

    public void setUrlImagem(String urlImagem) {
        this.urlImagem = urlImagem;
    }

    @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "veiculos")
    public Set<Transacoes> getTransacoeses() {
        return this.transacoeses;
    }

    public void setTransacoeses(Set<Transacoes> transacoeses) {
        this.transacoeses = transacoeses;
    }

    @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "veiculos")
    public Set<Rating> getRatings() {
        return this.ratings;
    }

    public void setRatings(Set<Rating> ratings) {
        this.ratings = ratings;
    }

    @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "veiculos")
    public Set<Comentarios> getComentarioses() {
        return this.comentarioses;
    }

    public void setComentarioses(Set<Comentarios> comentarioses) {
        this.comentarioses = comentarioses;
    }
}
